Fingerprint preview quality and segmentation

ABSTRACT

A ridge flow based fingerprint image quality determination can be achieved independent of image resolution, can be processed in real-time and includes segmentation, such as fingertip segmentation, therefore providing image quality assessment for individual fingertips within a four finger flat, dual thumb, or whole hand image. A fingerprint quality module receives from one or more scan devices ridge-flow--containing imagery which can then be assessed for one or more of quality, handedness, historical information analysis and the assignment of bounding boxes.

RELATED APPLICATION DATA

This application is a Continuation of U.S. patent application Ser. No.14/628,426, filed Feb. 23, 2015, now U.S. Pat. No. 9,152,843, which is aContinuation of U.S. Pat. No. 13/848,908, filed Mar. 22, 2013, now U.S.Pat. No. 9,031,291, which is a Continuation of U.S. patent applicationSer. No. 13/047,568, filed Mar. 14, 2011, now. U.S. Pat. No. 8,452,060,which is a Divisional of U.S. patent application Ser. No. 11/426,114,filed Jun. 23, 2006, now U.S. Pat. No. 7,936,907, which claims thebenefit of and priority under 35 U.S.C. §119(e) to U.S. patentapplication Ser. No. 60/795,215, filed Apr. 26, 2006, entitled “RealTime Fingerprint Quality and Segmentation,” each of which areincorporated herein by reference in their entirety.

BACKGROUND

1. Field of the Invention

This invention relates generally to quality determination andsegmentation. More specifically, an exemplary aspect of the inventionrelates to quality and segmentation determination of biometric imageinformation, such as fingerprint, handprint or footprint imageinformation.

Livescan type devices provide preview modes of operation that serve asan aid to the operator for finger placement and image fidelity. Becauseof processing power, timing restrictions and bandwidth requirements,these devices and their associated quality metrics are unable to provideoutput that can be correlated to other more sophisticated measures ofquality used by enrollment applications or Automatic FingerprintIdentification Systems (AFIS), and their associated matching engines.The limitations of the hardware also contributes to deficiencies in theability to dynamically segment the fingertips from the rest of the handstructure and to separate the image background, such as, smudges,particulates, latent prints, and the like from the fingertips.

As a substitute, livescan type devices utilize image contrast basedquality metrics and static scanner platen areas for segmentation.Fingerprint quality metrics used within enrollment and AFIS/matchingapplications are typically not suitable for this preview capability dueto their requirements for full resolution scanning of the fingerprintimagery, typically at 500 ppi and 1000 ppi.

SUMMARY

One exemplary aspect of the invention addresses this gap by providing aresolution independent ridge flow detection technique. A ridge flow mapis then used to determine fingerprint quality via a combination of ridgeflow strength, ridge flow continuity, and localized image contrast. Thisridge flow map can also be used as a basis for segmentation.

Another exemplary aspect of the invention is a ridge flow based systemand methodology for fingerprint image quality determination that isindependent of image resolution, can be processed in real-time, andincludes segmentation, such as fingertip segmentation, thereforeproviding image quality assessment for individual fingertips with a fourfinger flat, dual thumb, or whole hand image.

For example, one exemplary aspect is targeted at enrollment applicationsusing livescan fingerprint devices that provide low-resolution previewimage data, such as image data representing a finger, hand or otherbiometric information that includes ridge flow.

Aspects of the invention additionally relate to a fingerprint qualitymodule that receives from one or more scan devices ridge-containingimagery which can then be assessed for one or more of quality,handedness, historical information analysis and the assignment ofbounding boxes.

Additional exemplary aspects of the invention relate to ridge flowdetermination.

Further exemplary aspects of the invention relate to segmentation of afingerprint image.

Additional exemplary aspects of the invention relate to determining aquality of an input image, such as a fingerprint image.

Still further aspects of the invention relate to modifying the ridgeflow process based on image resolution.

Still further exemplary aspects of the invention relate to determiningand providing feedback based on a received image(s).

Still further aspects of the invention relate to identifying one or morefingertips and, if needed, trimming the tips at an inter-digit crease.

Still further aspects of the invention relate to determining and placinga bounding box around an identified fingertip.

Additional exemplary aspects of the invention relate to determining inreal-time fingerprint quality at a live scan type device.

These and other features and advantages of this invention are describedin, or will become apparent from, the following detailed description ofthe embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the invention will be described in detail, withreference to the following figures, wherein:

FIG. 1 illustrates an exemplary fingerprint quality system according tothis invention;

FIG. 2 illustrates in greater detail the fingerprint quality moduleaccording to an exemplary embodiment of the invention;

FIG. 3 outlines an exemplary method for determining quality according tothis invention;

FIG. 4 outlines an exemplary method for performing ridge flow accordingto this invention;

FIG. 5 outlines an exemplary method for performing segmentationaccording to this invention;

FIG. 6 outlines a more specific exemplary method for performingsegmentation according to this invention;

FIG. 7 outlines an exemplary method of determining quality according tothis invention;

FIG. 8 outlines an exemplary method of modifying ridge flow based onresolution according to this invention;

FIGS. 9-16 illustrate slap-scan images of differing quality andexemplary feedback instructions associated therewith;

FIG. 17 illustrates an exemplary ridge flow detection grid according tothis invention;

FIG. 18 illustrates exemplary coefficient correlations according to thisinvention;

FIG. 19 illustrates en exemplary average ridge flow according to thisinvention;

FIG. 20 illustrates an exemplary grouping of clusters according to thisinvention;

FIG. 21 illustrates an exemplary segmented fingerprint according to thisinvention;

FIG. 22 illustrates an exemplary grid placement according to thisinvention;

FIG. 23 illustrates a second exemplary grid placement according to thisinvention;

FIGS. 24-27 illustrate exemplary target sinusoids at differentresolutions according to this invention;

FIG. 28 illustrates the 80 coefficients utilized in the exemplary ridgeflow detection according to this invention; and

FIG. 29 illustrates the 80 coefficients utilized at four differentresolutions in the exemplary ridge flow detection according to thisinvention.

DETAILED DESCRIPTION

The exemplary systems and methods of this invention will be described inrelation to image quality and segmentation. However, to avoidunnecessarily obscuring the present invention, the following descriptionomits well-known structures and devices that may be shown in blockdiagram form, are generally known or otherwise summarized. For purposesof explanation, numerous specific details are set forth in order toprovide a thorough understanding of the present invention. It shouldhowever be appreciated that the present invention may be practiced in avariety of ways beyond the specific detail set forth herein.

Furthermore, while the exemplary embodiments illustrated herein show thevarious components of the system collocated, it should be appreciatedthat the various components of the system can be located at distantportions of a distributed network, such as a LAN and/or the internet, orwithin a dedicated system. Thus, it should be appreciated that thecomponents of this system can be combined into one or more devices orcollocated on a particular node of a distributed network, such as acommunications network. It will be appreciated from the followingdescription, and for reasons of computational efficiency, that thecomponents of the system can be arranged at any location within adistributed network without affecting the operation of the system.

Furthermore, it should be appreciated that the various links connectingthe elements can be wired or wireless links, or any combination thereof,or any other known or later developed element(s) that is capable ofsupplying and/or communicating data to and from the connected elements.These wired or wireless links can also be secure links and may becapable of communicating encrypted information.

The term module as used herein can refer to any known or later developedhardware, software, or combination of hardware and software that iscapable of performing the functionality associated with that element.Also, while the invention is described in terms of exemplaryembodiments, it should be appreciated that individual aspects of theinvention can be separately claimed. While the embodiment discussedherein will be directed toward fingerprint quality and segmentation, itshould also be appreciated that the systems and methods will workequally well for any type of image that includes any type of periodic orrepeating pattern such as ridge flow including, but not limited toimages of fingers, hands, feet or any portion thereof.

FIG. 1 illustrates an exemplary embodiment of the fingerprint qualitysystem 1. The fingerprint quality system 1 comprises a fingerprintquality module 100 that can be connected to one or more of a flatbedscanner or automatic document scanner 15, a whole-hand scanner 20, andindividual fingerprint scanner 25, a slap scanner 30, a singlefingerprint roll scanner 35, other optical or non-optical based scanners40, audio and video feedback device(s) 45, one or more user interfaces55, a demographic data supply 65 and storage 60, with the informationfrom the fingerprint quality module 100 capable of being output viaoutput 50.

The fingerprint quality module 100 receives input from various sources.For example, the flatbed scanner or automatic document scanner 15digitizes information on a fingerprint card 10 with a correspondingimage being forwarded to the fingerprint quality module 100 for review.The live-scan type devices such as the whole-hand scanner 20, which cantake a slap scan, the individual fingerprint scanner 25, and slapscanner 30 also capture image information corresponding to a scan of aridge flow containing portion of the anatomy. Similarly, the singlefingerprint roll scanner 35 inputs image data corresponding to a rollprint to the fingerprint quality module 100.

Additionally, or alternatively, the fingerprint quality module 100 canreceive image data from other optical or non-optical based scanners 40such as capacitive, ultrasound, or in general from any source capable offorwarding an image containing ridge flow information.

In general, any of the input image(s) can be optionally pre-processed toenhance ridge flow detection. For example, the input image(s) can bepre-processed to adjust contrast, sharpness or sampling. The image(s)can also be preprocessed for enhancement or skeletonization.

In operation, the fingerprint quality module 100 receives an image fromone of the input devices and determines ridge flow. Once ridge flow hasbeen determined, if it can be determined, regions within the image canbe identified, such as a finger, a finger tip, a toe, a hand, palm, orin general any region or regions based, for example, on the particularoperating environment of the system 1.

Next, the fingerprint quality module 100 performs one or more ofdetermining and scoring the quality of the image, assigning boundingboxes to the identified regions, determining handedness of the image andperforming historical information analysis on a series of capturedimages. For example, images can be received in real-time at thefingerprint quality module 100. A series of images can be stored withthe cooperation of storage 60 such that the fingerprint quality module100 can perform an analysis over several frames of a scan and thus, forexample, establish trending information regarding the quality of theimages. This trending information can then be used to assist withproviding audio or video feedback to a fingerprintee and/or dynamicallyutilized with predication of when a “good image” could be captured.

Depending on the results of one or more of the quality determination,assigning the bounding boxes, handedness determination and historicalinformation analysis, the fingerprint quality module 100 can providefeedback via one or more of the audio and/or video feedback device(s) 45and user interface(s) 55. For example, the audio and/or video device(s)45 can be used to provide feedback to the fingerprintee to indicate if ascan has been successful, if movement of the finger(s) on the platen isrequired, to press harder or lighter, to straighten the hand, or thelike. The feedback can be in audio and/or video and/or graphically, withaudio cues and/or in a multitude of languages as needed based on, forexample, the particular operating environment of the system 1.

Furthermore, the fingerprint quality module 100 could provide feedbackvia user interface 55. For example, user interface 55 can be used by thesystem operator with the feedback information including, for example,instructions indicating that the platen needs cleaning, there is aproblem with one or more of the scanning devices, whether or not a goodscan and capture of the fingerprint information was successful,operating status about the system, or in general any information relatedto the operation or information being processed by the fingerprintquality module 100.

The user interface 55, in cooperation with the demographic data source65 also allows one or more of demographic data, other biometric data, orin general any information to be associated with one or more imagesreceived from the various scan devices. This information can include,but is not limited to, name, passport number, social security number,date and time information associated with the scan, location informationof the scan, or in general any information that could, for example, beused to assist in identifying, classifying, categorizing or flagging theimage. The image, with the demographic metadata, can then be stored, forexample, in storage 60 or output via output 50.

Output 50 allows, for example, the fingerprint quality module to outputone or more images with or without the demographic metadata to allow,for example, printing, off-line processing, identification, analysis,comparison, archiving, or in general output for any need.

FIG. 2 outlines in greater detail the fingerprint quality module 100. Inparticular, the fingerprint quality module 100 comprises a handednessmodule 110, a segmentation module 120, a sampling module 130, aprocessor 140, memory 150, and I/O module 160, a sequence checkingmodule 170, a quality determination module 180, a ridge flow module 190,a contrast module 195 and an auto-capture module 197, all interconnectedby links 5.

As discussed hereinafter in greater detail, an exemplary non-limitingmethodology is presented that performs segmentation of fingertips from amulti-finger impression image.

As previously discussed, the process starts with the receipt of afingerprint image. Upon receipt of the image, and with the cooperationof the ridge flow module 190, the strength, continuity, and angle ofridge flow at, for example, each pixel of the fingerprint image isdetermined. Alternatively, or in addition, the strength, angle andcontinuity can be determined for predetermined positions within theimage such as across a predetermined grid. While a specific methodologyfor ridge flow will be discussed hereinafter, it should be appreciatedthat any methodology can be used to determine ridge flow that is capableof outputting information that represents one or more of the strengths,continuity and angle of ridge flow at various points within the receivedimage.

The segmentation module 120 performs the necessary determinations toidentify fingertip locations. There are various methodologies that canbe used for segmentation with, in general, the only requirement beingaccurate identification of the bounding box for finger portions.

The quality determination module 180 utilizes the ridge flow informationand segmentation information to determine a quality metric based on aparsing of the fingerprint image area for one or more of contrast, ridgeflow strength and local ridge flow. These factors can be combined toform a quality score for each tip. Based on this quality score, and incooperation with the feedback determination module 165, appropriatefeedback, if needed, can be determined and forwarded to an appropriatedestination.

The sampling module 130 allows up or down-sampling of received images.For example, depending on the resolution of the received image, it maybe advantageous from a computational standpoint to either up ordown-sample the image.

The sequence checking module 170 performs a sequence check of thereceived fingerprint images. A typical sequence check would verify thatthe images corresponding to individual fingerprint scans are received ina particular order such as, for example, from the index finger to thepinky. If the pinky finger is determined to have been received out ofsequence, or if a finger was errantly imaged twice, and in cooperationwith the feedback module 165, appropriate feedback can be determined andforwarded to the appropriate destination.

The auto-capture module 197 works in conjunction with the qualitydetermination module 180 and is capable of dynamically determining whenan image is expected to meet a certain quality metric. For example, andin conjunction with the historical information analysis, trendinginformation can be analyzed for prediction of when the fingerprintquality system, and in particular the fingerprint quality module 100 isexpected to receive a “good” quality scan from one of the scanningdevices. For example, if a fingerprintee is initialing pressing toolightly on the platen, and the trending information indicates that therehas been a continuous increase in pressure on the platen, there will bean ideal point at which the fingerprint should be captured. Thisauto-capture module 197 thus tracks this historical information andcaptures images at a particular point in time during the image capturesequence.

FIG. 3 is a flowchart that outlines an exemplary method of operating thefingerprint quality system according to this invention. In particular,control begins in step S300 and continues to step S310. In step S305, animage is received. Next, in step S310, ridge flow is determined for thereceived image. Then, in step S315, a ridge flow array for the receivedimage is established. Control then continues to step S320.

In step S320, one or more regions of the received image are identified.These regions can include, but are not limited to, a finger, afingertip, toe, hand, palm, or in general any region for which thefingerprint quality system has been assigned to identify. Control thencontinues to one or more of steps S325, S335, S340 and S345.

More specifically, in step S325, image quality is determined. Once thequality of the image has been determined, in step S330, the quality canbe scored, for example, for each fingertip. Control then continues tostep S350.

In step S335, one or more bounding boxes can be assigned to theidentified region(s) with the bounding boxes being placed around theidentified regions. More specifically, bounding boxes identify a regionof interest about a finger, hand, palm, foot feature, etc., that is ofparticular interest to the system. Bounding boxes can be determinedthrough use of one or more of ridge flow data, user input, or other datadeemed applicable by the system. The exact extents of the box can be theminimum region of the feature of interest or of any further extend asrequired by the system.

In step S340, a handedness determination is performed. This allows thesystem to determine whether, for example, a left or right hand, orportion thereof, are represented in the received image. Control thencontinues to step S350.

In step S345, historical information analysis can be performed. Aspreviously discussed, this historical information analysis allows thesystem to dynamically track trending information related to a pluralityof received images and, for example, trigger a particular action basedon one or more trends. Control then continues to step S350.

In step S350, a determination is made, based on any of the precedingsteps, whether feedback should be provided to one or more of a systemuser and a fingerprintee. If a determination is made that feedback isneeded, control continues to step S355 where that feedback is provided.Otherwise, control jumps to step S360 where a determination is madewhether additional scanning is required. If additional scanning isrequired, control loops back to step S305. Otherwise, control continuesto step S365 where the image(s) is stored. Control then continues tostep S370 where the control sequence ends.

The exemplary methodology presented above can be used in a resolutionindependent manner. Thus, the various methodologies discussed herein canbe modified to accept image data at various resolutions with thefollowing detailed discussions of specific ridge flow, segmentation andquality calculations being capable of working with various versions ofthe same fingerprint image where the difference between the versions isthe capture resolution. The processing of each version thus results insimilar, if not the same, ridge flow detections. To assist withmaintaining the fidelity of the process, both the selected segmentationprocesses and quality determinations should adhere to resolutioninvariance. The segmentation and quality methodologies described hereinwill be presented in a resolution invariant manner to support thisfidelity.

It is the resolution independence and the high degree of correlationbetween the sub-resolution output and the full resolution output, in allaspects of processing-ridge flow segmentation and quality score, as wellas the ability to process this information in real-time, that allowsrapid feedback to be determined. By determining in a rapid fashion theridge flow based quality and fingertip locations in a finger, thefingerprint quality system is able to capitalize on image capturedevices that often generate low-resolution preview data.

FIG. 4 outlines in greater detail an exemplary method for determiningridge flow. In particular, control begins S400 and continues to stepS410. In step, S410, a grid of points is selected. Next, in step S420,for each image grid point, Fourier coefficients are determined for asub-window around the grid point for a predetermined number offrequencies at varying angles. Then, in step S430, based on the resultsof the determination step in S420, an array of peak correlation valuesis determined where the frequency and angle best match the local ridgeflow in sub-window. Control then continues to step S440.

In step S440, the peak ridge flow angle (if any) in the sub-windows isdetermined from the correlation map. Next, in step S450, optionalsmoothing or averaging of the raw ridge flow map can be performed.Control then continues to step S460 where the control sequence ends.

FIG. 5 illustrates an exemplary segmentation methodology. In particular,control begins in step S500 and continues to step S505. In step S505,neighboring ridge flow detections are clustered into groups. Next, instep S510, each group is labeled. Then, in step S515, small isolatedcluster(s) are disregarded. Control then continues to step S520.

In step S520, the orientation for the larger cluster(s) is determined.Next, in step S525, the dominant orientation angle is determined. Then,in step S530, clusters are grouped that can be connected via a suspectedsegment orientation angle into segment cluster group(s). Control thencontinues to step S535.

In step S535, any non-segment cluster groups are removed. Next, in stepS540, the end cluster of each segment cluster group is identified as thetip. Next, in step S545, a determination is made whether the identifiedtip is too long. If the identified tip is too long, control continues tostep S550 where the tip is trimmed with control continuing to step S555.Otherwise, if the identified tip is not too long, control jumps to stepS555 where a bounding box is determined for each tip. Control thencontinues to step S560 where the control sequence ends.

FIG. 6 outlines a finger-specific segmentation methodology according toan exemplary embodiment of this invention. Control begins in step S600and continues to step S605. In step S605, neighboring ridge flowprotections are clustered into groups. Next, in step S610 each group islabeled. Then, in step S615, any small isolated clusters can be removed.Control then continues to step S620.

In step S620, the orientation for the larger cluster(s) is determined.Next, in step S625, the dominant orientation angle is determined. Thisdominant orientation angle can correspond to, for example, the hand. Theorientation for the larger clusters generally corresponds to theclusters representing portions of a finger, such as a knuckle. In stepS630, clusters are grouped that can be connected via the fingerorientation angle. Next, in step S635, any non-finger cluster groups areremoved. Then, the top-most cluster of each finger is identified as thefingertip. Control then continues to step S645.

In step S645, a determination is made whether the identified fingertipis too long. If the tip is too long, control continues to step S650where the tip is trimmed at the inter-digit crease. Control thencontinues to step S655.

If the identified tip is not too long, control jumps to step S655 wherethe bounding box for each tip is determined. Control then continues tostep S660 where the control sequence ends.

FIG. 7 outlines an exemplary method for quality determination of theinput image, such as a fingerprint. Control begins in step S700 andcontinues to step S705. In step S705, the ridge flow detections areidentified and associated with a target fingerprint based on receivedsegmentation information. Next, in step S710, and for each detection,steps S715-725 are performed.

In step S715, the average contrast for the identified detections isdetermined. Next, in step S720, the peak Fourier coefficients for eachridge flow detection are determined. Then, in step S725, the peak angleagreement between each ridge flow detection and neighbors is determined.Control then continues to step S730.

In step S730, the results are combined and scaled into a quality score.Next, in step S735, a determination is made as to whether all fingertipshave been processed. If all fingertips have been processed, controlcontinues to step S750 where the control sequence ends. Otherwise,control jumps to step S740.

In step S740, the next target fingerprint is selected with controlreturning back to step S705.

In a more specific embodiment, a first step in the determination ofquality is identification of all ridge flow detections that belong tothe target fingertip. This information comes directly from thesegmentation process. For each fingertip, all identified blocks areprocessed for image contrast, strength of detection, and angleagreement. The image contrast can be derived from the DC component ofthe Fourier analysis. The difference between the value of the currentblock and the image background can be the basis for this metric. Thegreater the difference, the greater the contrast, and the higher thequality score.

The second metric is the relative strength of the peak detection. Thevalue of the Fourier coefficient can be compared against an ideal value.The stronger the coefficient, the more pronounced the ridge flow and thehigher the quality score.

The final determination is the local agreement of peak detected angles.For each block, the detected angles are compared to the neighboring peakangles. If the majority of the angles match, then the resulting qualityscore is high.

These three metrics for gauging quality can then be combined for allfingertip ridge flow blocks and scaled to a meaningful value. One suchscoring methodology results in a score from 0 to 100 where, for example,100 represents the best possible image.

FIG. 8 illustrates an exemplary method for resolution invariant ridgeflow determination. Control begins in step S800 and continues to stepS805. In step S805, grid spacing is determined based on the resolutionof the input image. Next, in step S810, the processing window andFourier coefficient frequency is adjusted. Control then continues tostep S815 where the control sequence ends.

FIGS. 9-16 represent various preview image sequences showing, in thetop-left most corner, the initial image and, as a result of feedback,the final capture shown in the bottom right image. More specifically, inFIG. 9, the initial image 910 is identified as being too light. At thispoint, a fingerprintee could be given direction to press harder on theplaten and as the fingerprintee presses harder, a good capture isachieved in capture 920. As can be also seen in the Figure are thepreliminary determinations of bounding boxes 930.

In FIG. 10, the initial image 1010 is too dark. The user is thusprovided feedback to, for example, press less hard on the scanner withthe final good capture being represented in image 1020.

In FIG. 11, the initial image 1110 shows that the right hand is rotatedin a counter-clockwise orientation. Upon this detection, the fingerprintquality system can provide feedback to the fingerprintee requesting thefingerprintee to straighten their hand or orient it in a more verticaldirection. This dynamic process of capture and feedback continues until,for example, a good capture 1120 is achieved.

FIG. 12 illustrates an initial image 1210 that has been identified asbeing partially off to the right-hand side of the scanner. Again, bydynamically monitoring the position of the hand, feedback can beprovided to the fingerprintee with the hand becoming more centrallylocated up until the point of a good capture 1220.

FIG. 13 illustrates an initial image 1310 which shows a hand that needsto be centered in the vertical orientation. Providing feedback to thefingerprintee results in the hand being moved towards the center of thescanning device with a final capture 1320 showing the hand morecentrally located on the scanner.

FIG. 14 illustrates an initial image 1410 where, due to the fingersbeing too closely positioned together, the bounding boxes are partiallyoverlapping. Through the use of feedback, the fingers become more spreadout of the series of captures until a good capture is illustrated incapture 1420.

FIG. 15 illustrates an initial image 1510 where the fingers are placedtoo far apart and are actually outside of the scanning area. Again, forexample, with the use of feedback, the fingerprintee can be instructedto bring the fingers more closely together with a good final capturebeing illustrated in FIG. 1520.

FIG. 16 illustrates an initial image 1610 where the capture is ofinsufficient quality due to hand movement. As the user's hand becomesmore stable a final good capture can be seen in capture 1620.

By way of illustration with reference to a real-world fingerprint, andwith reference to FIG. 17, an exemplary ridge flow determination isshown in relation to a sample fingerprint. It should be appreciatedhowever that other numbers of sinusoids at a different number of anglescould be used as well. The determination commences with theestablishment of a grid 1710 over the image, for example, at everytwelfth column in every twelfth row. The grid represents the centerpointfor the analysis of the local trend for ridge flow. For each grid point1710 and the image, a small sub-window of the image can be analyzed forridge flow. At each sample location, a small rectangular window of imagedata is compared to, for example, five sinusoids of specific frequenciesrotated about, for example, sixteen different angles. The Fouriercoefficients are calculated for each of these five frequencies atsixteen different angles. The result for each series of comparisons isan array of eighty coefficients with a peak achieved at a frequency andangle that best matches the local ridge flow. This can be seen in FIG.18 where the sinusoids in portion 1810 have a small coefficient valuewhen compared to the sample location, the sinusoids in portion 1820 havea larger coefficient value than that in portion 1810 with the portion1830 having a small coefficient value as compared to the samplelocation.

Once the correlation values have been determined for all windows in thefingerprint image, the resulting correlation map can be processed toidentify the peak ridge flow angle (if any) found at every window withinthe image, thus producing the raw ridge flow map. This data can befurther analyzed to remove any singularities and smoothed or averaged togenerate an average ridge flow map as illustrated in FIG. 19 with theaverage ridge flow highlighted by the various arrows 1910. As seen inFIG. 19, the arrows graphically represent the local peak angle for theridge flow with each arrow representing the peak angle identified out ofthe eighty coefficients for that grid location.

For example, and with reference to FIGS. 20 and 21, segmentation offingertips from a multi-finger impression can be carried out based onthe following exemplary sequence of steps:

-   -   cluster all neighboring ridge flow detections,    -   eliminate small clusters,    -   identify the angle of orientation for each cluster,    -   identify the median angle of orientation for all clusters (the        angle of orientation of the hand),    -   identify all clusters that fall along this angle and group them        into a finger,    -   select the highest cluster for each finger as the fingertip, and    -   post-process the fingertip to identify the exact fingertip        length.

In more detail, and with reference to FIG. 20, ridge flow detections2010 are grouped with neighboring detections having a similarorientation angle as represented by “2.” As seen in FIG. 20, there aretwo clusters of ridge flow detections that have been identified as “1”and “2” and labeled as such.

Small isolated clusters, such as 2020, are removed or are ignored andthe larger clusters processed to determine the orientation of thecluster. The median angle from all clusters is then selected as theoverall orientation angle for the hand. The clusters are then againprocessed to identify the groups that fall along the orientation anglewith those clusters that fall on the hand orientation angle beinggrouped into fingers 2110 as seen in FIG. 21. The clustered ridge flowdetections, where each color represents a separate cluster, and thefinger groups are then identified as clusters that lie along the handorientation angle line 2020. Once the finger/cluster associations aremade, each group can be processed to identify the topmost cluster as thefingertip, for example, 2030. In the event the length of the fingertipviolates the natural length of a fingertip, the cluster is trimmed atthe inter-digit crease.

One exemplary advantage of trimming the fingertip, finger, palm, orother target finger is to isolate only the image area directlyassociated with the target feature. For example, fingertips may betrimmed to length at the inter-digital crease. One exemplar method mayuse anthropomorphic rules to associate the finger width to the fingertiplength. A second exemplar method may parse the ridge flow map toidentify the breakdown in ridge flow commonly associated with theinter-digital crease.

Ultimately, the result is the identification of all ridge flowdetections that make up the fingertip as well as the bounding box of thefingertip cluster. As with the other aspects of this invention, this canbe implemented independent of input image resolution since thedetermination of ridge flow isolates the above determinations fromresolution.

A non-limiting example is illustrated with reference to FIGS. 22-27.Particularly, the establishment of the grid overlaid on the image can bedirectly related to the input image resolution of the fingerprint image.As the resolution decreases, the space in the grid can be reduced in,for example, a linear manner. If the spacing at 500 ppi is 12×12 pixels,the spacing at 250 ppi could be by 6×6 pixels. For example, in comparingFIGS. 22 and 23, while the spacing in the pixels changes, the placementof the grid points stays the same, such that the grid points are alwayson the same physical point as the resolution changes. As the resolutionis reduced from 500 ppi, both the processing window and the frequency ofthe Fourier coefficients are reduced linearly with respect to the targetresolution. For example, if the full resolution window is 23×13 pixels,and supports a sinusoid that cycles 3 times in the 23 pixel length, thehalf resolution window would be 11×6 pixels with 3 cycles in that 11pixels.

As seen in FIGS. 24-27, FIG. 24 is a representation of the targetsinusoid for the original 500 ppi 100% resolution. FIG. 25 representsthe target sinusoids at 80% resolution, FIG. 26 at 60% resolution andFIG. 27 at 50% resolution which is 250 ppi.

The following section describes the interim testing products developedas a part of the design and implementation process of the invention.

FIG. 28 is representation of the correlation between the fingerprintimage and the target sinusoids (at various angles—vertical axis, andfrequencies—horizontal axis). Each ‘cell’ in the array of imagesrepresents the response for the ridge glow array of images representsthe response for the ridge flow calculation utilizing a sinusoid ofspecific frequency and presented at a specific angle.

The first column of data is the DC term—the average pixel value for thesampled window. For the remaining columns the brightness of the pixel isrelated to the strength of the coefficient, i.e., the brighter the pixelthe stronger the correlation between the sub-window of the image and thetarget sinusoid. Following each column from top to bottom there exists atrend in the bright peaks as they move around the fingertip center inresponse to the general trend of fingerprint ridge flow.

FIG. 29 represents an extension of this image. Four separate examples ofthe same input image are presented at four different resolutions. The500 ppi image represents the baseline expected result and trends(between the angles and frequencies). The results for the 250 ppi and170 ppi approximately follow the trends within the 500 ppi image. The125 ppi results follow the gross trends but there is degradation due tothe failure of the resolution of 125 ppi to fully resolve the ridge flowin an average finger.

The described systems and methods can be implemented on an imageprocessing device, fingerprint processing device, or the like, or on aseparate programmed general purpose computer having image processingcapabilities. Additionally, the systems and methods of this inventioncan be implemented on a special purpose computer, a programmedmicroprocessor or microcontroller and peripheral integrated circuitelement(s), an ASIC or other integrated circuit, a digital signalprocessor, a hard-wired electronic or logic circuit such as discreteelement circuit, a programmable logic device such as PLD, PLA, FPGA,PAL, or the like. In general, any device capable of implementing a statemachine that is in turn capable of implementing the flowchartsillustrated herein can be used to implement the image processing systemaccording to this invention.

Furthermore, the disclosed methods may be readily implemented insoftware using object or object-oriented software developmentenvironments that provide portable source code that can be used on avariety of computer or workstation platforms. Alternatively, thedisclosed system may be implemented partially or fully in hardware usingstandard logic circuits or a VLSI design. Whether software or hardwareis used to implement the systems in accordance with this invention isdependent on the speed and/or efficiency requirements of the system, theparticular function, and the particular software or hardware systems ormicroprocessor or microcomputer systems being utilized. The systems andmethods illustrated herein however can be readily implemented inhardware and/or software using any known or later developed systems orstructures, devices and/or software by those of ordinary skill in theapplicable art from the functional description provided herein and witha general basic knowledge of the computer and image processing arts.

Moreover, the disclosed methods may be readily implemented in softwareexecuted on programmed general purpose computer, a special purposecomputer, a microprocessor, or the like. The software can also be storedon a computer readable medium. In these instances, the systems andmethods of this invention can be implemented as program embedded onpersonal computer such as JAVA® or CGI script, as a resource residing ona server or graphics workstation, as a routine embedded in a dedicatedfingerprint processing system, as a plug-in, or the like. The system canalso be implemented by physically incorporating the system and methodinto a software and/or hardware system, such as the hardware andsoftware systems of an image processor.

It is, therefore, apparent that there has been provided, in accordancewith the present invention, systems and methods for fingerprint qualityand segmentation which may be particularly useful when used withfingerprint preview image(s). While this invention has been described inconjunction with a number of embodiments, it is evident that manyalternatives, modifications and variations would be or are apparent tothose of ordinary skill in the applicable arts. Accordingly, it isintended to embrace all such alternatives, modifications, equivalentsand variations that are within the spirit and scope of this invention.

The invention claimed is:
 1. An image quality determination method, foran input image of any resolution, comprising: receiving an image from ascanner; storing the received image in storage; determining, using aprocessor connected to the storage, a ridge flow for the received image,wherein a grid spacing for the received image is determined based on aresolution of the received image; establishing a ridge flow map for aportion of the received image; identifying one or more ridge flowdetections; determining a quality of the received image at least basedon the identified ridge flow detections; and determining whether toprovide feedback, via one or more of an audio and video feedback deviceconnected to the processor, to a fingerprintee.
 2. The method of claim1, further comprising: determining and scoring the quality of the imageand storing, in the storage, the image.
 3. The method of claim 1,further comprising assigning a bounding box to a portion of the image.4. The method of claim 1, further comprising determining handedness ofthe image.
 5. The method of claim 1, further comprising performing ahistorical analysis of a plurality of received images for one or more ofquality, handedness and assignment of bounding boxes.
 6. The method ofclaim 1, further comprising modifying a processing window and Fouriercoefficient frequency based on the image resolution.
 7. The method ofclaim 1, further comprising selecting grid points for the image and, foreach image grid point, determine Fourier coefficients for a sub-windowaround the grid point for a predetermined number of frequencies atdifferent angles.
 8. The method of claim 7, further comprisingdetermining a correlation map based on a peak correlation between thepredetermined number of frequencies at different angles and a localridge flow.
 9. The method of claim 1, further comprising determining apeak ridge flow angle from a correlation map.
 10. The method of claim 1,further comprising averaging a correlation map.
 11. The method of claim1, wherein the method is performed in real-time.
 12. An image qualitysystem for an input image of any resolution comprising: an I/O moduleconnectable to a scanner to receive an image; a memory that receives theimage from the I/O module and stores the image; a ridge flow module andprocessor that: retrieve the stored image from the memory and determineridge flow for the stored received image, wherein a grid spacing isdetermined based on a resolution of the input image, establish a ridgeflow map for a portion of the image, identify one or more ridge flowdetections, and determine a quality of the image at least based on theidentified ridge flow detections; and a feedback determination moduleconnected to the processor and ridge flow module that determines whetherto provide feedback, via one or more of an audio and video feedbackdevice connected to the processor, to a fingerprintee.
 13. The system ofclaim 12, further comprising a quality determination module connected tothe processor and ridge flow module that determines and scores thequality of the image.
 14. The system of claim 12, wherein the ridge flowmodule is further assigns a bounding box to a portion of the image. 15.The system of claim 12, further comprising a handedness module to theprocessor adapted to determine handedness of the image.
 16. The systemof claim 12, further comprising an auto-capture module that works withthe processor to perform a historical analysis of a plurality ofreceived images for one or more of quality, handedness and assignment ofbounding boxes.
 17. The system of claim 12, further adapted to modify aprocessing window and Fourier coefficient frequency based on the imageresolution.
 18. The system of claim 12, further adapted to select gridpoints for the image and, for each image grid point, determine Fouriercoefficients for a sub-window around the grid point for a predeterminednumber of frequencies at different angles.
 19. The system of claim 18,further adapted to determine a correlation map based on a peakcorrelation between the predetermined number of frequencies at differentangles and a local ridge flow.
 20. The system of claim 12, furtheradapted to determine a peak ridge flow angle from a correlation map. 21.The system of claim 12, further adapted to average a correlation map.22. The system of claim 12, wherein the system operates in real-time.23. The system of claim 12, further comprising a sampling module adaptedto resample the input image.
 24. The system of claim 12, wherein thescanner is a whole-hand scanner, an individual fingerprint scanner, aslap scanner, a single fingerprint roll scanner, a flatbed scanner, anoptical scanner, a non-optical scanner, or a live-scan device.
 25. Thesystem of claim 12, wherein the feedback determination module providesfeedback to a user interface.